home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 2010 April / PCWorld0410.iso / pluginy Firefox / 684 / 684.xpi / chrome / fireftp.jar / content / fireftp.xul < prev    next >
Extensible Markup Language  |  2009-11-11  |  29KB  |  434 lines

  1. <?xml version="1.0"?>
  2.  
  3. <?xml-stylesheet href="chrome://global/skin/global.css"   type="text/css"?>
  4. <?xml-stylesheet href="chrome://fireftp/skin/fireftp.css" type="text/css"?>
  5. <?xml-stylesheet href="chrome://fireftp/skin/platform.css" type="text/css"?>
  6.  
  7. <!DOCTYPE window SYSTEM "chrome://fireftp/locale/fireftp.dtd">
  8. <window id            = "fireftp-main-window"
  9.         title         = "FireFTP"
  10.         width         = "800"
  11.         height        = "600"
  12.         orient        = "vertical"
  13.         xmlns         = "http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
  14.         xmlns:html    = "http://www.w3.org/1999/xhtml"
  15.         persist       = "width height screenX screenY sizemode"
  16.         onmousemove   = "treeHighlighter.mouseMove(event)"
  17.         onmousedown   = "treeHighlighter.mouseDown(event)"
  18.         onmouseup     = "treeHighlighter.mouseUp  (event)"
  19.         ondraggesture = "nsDragAndDrop.startDrag  (event, dragObserver)"
  20.         ondragover    = "nsDragAndDrop.dragOver   (event, dragObserver)"
  21.         ondrop        = "nsDragAndDrop.drop       (event, dragObserver)"
  22.         onload        = "startup()"
  23.         onunload      = "unload()"
  24.         onresize      = "doResizeReverseHack()">
  25.  
  26.   <script type="application/x-javascript" src="chrome://fireftp/content/js/etc/globals.js"/>
  27.  
  28.   <script type="application/x-javascript" src="chrome://fireftp/content/js/connection/controlSocket.js"/>
  29.   <script type="application/x-javascript" src="chrome://fireftp/content/js/connection/sftp.js"/>
  30.   <script type="application/x-javascript" src="chrome://fireftp/content/js/connection/dataSocket.js"/>
  31.   <script type="application/x-javascript" src="chrome://fireftp/content/js/connection/ftpController.js"/>
  32.   <script type="application/x-javascript" src="chrome://fireftp/content/js/connection/fxp.js"/>
  33.   <script type="application/x-javascript" src="chrome://fireftp/content/js/connection/transfer.js"/>
  34.  
  35.   <script type="application/x-javascript" src="chrome://fireftp/content/js/etc/common.js"/>
  36.   <script type="application/x-javascript" src="chrome://fireftp/content/js/etc/diff.js"/>
  37.   <script type="application/x-javascript" src="chrome://fireftp/content/js/etc/dragDrop.js"/>
  38.   <script type="application/x-javascript" src="chrome://fireftp/content/js/etc/fileSort.js"/>
  39.   <script type="application/x-javascript" src="chrome://fireftp/content/js/etc/loadUnload.js"/>
  40.   <script type="application/x-javascript" src="chrome://fireftp/content/js/etc/log.js"/>
  41.   <script type="application/x-javascript" src="chrome://fireftp/content/js/etc/misc.js"/>
  42.   <script type="application/x-javascript" src="chrome://fireftp/content/js/etc/preferences.js"/>
  43.   <script type="application/x-javascript" src="chrome://fireftp/content/js/etc/programs.js"/>
  44.   <script type="application/x-javascript" src="chrome://fireftp/content/js/etc/queueTree.js"/>
  45.   <script type="application/x-javascript" src="chrome://fireftp/content/js/etc/search.js"/>
  46.   <script type="application/x-javascript" src="chrome://fireftp/content/js/etc/sessionsPasswords.js"/>
  47.   <script type="application/x-javascript" src="chrome://fireftp/content/js/etc/threads.js"/>
  48.   <script type="application/x-javascript" src="chrome://fireftp/content/js/etc/treeHighlighter.js"/>
  49.   <script type="application/x-javascript" src="chrome://fireftp/content/js/etc/treeSync.js"/>
  50.   <script type="application/x-javascript" src="chrome://fireftp/content/js/etc/UIUpdate.js"/>
  51.  
  52.   <script type="application/x-javascript" src="chrome://fireftp/content/js/local/localFile.js"/>
  53.   <script type="application/x-javascript" src="chrome://fireftp/content/js/local/localTree.js"/>
  54.   <script type="application/x-javascript" src="chrome://fireftp/content/js/local/localDirTree.js"/>
  55.  
  56.   <script type="application/x-javascript" src="chrome://fireftp/content/js/remote/remoteTree.js"/>
  57.   <script type="application/x-javascript" src="chrome://fireftp/content/js/remote/remoteDirTree.js"/>
  58.  
  59.   <script type="application/x-javascript" src="chrome://global/content/nsDragAndDrop.js"/>
  60.  
  61.   <stringbundle id="strings" src="chrome://fireftp/locale/strings.properties"/>
  62.  
  63.   <commandset>
  64.     <command id="cmd_connect"    oncommand="connect()"/>
  65.     <command id="cmd_disconnect" oncommand="disconnect()"/>
  66.     <command id="cmd_search"     oncommand="showSearch(true)"/>
  67.     <command id="cmd_dummy"      oncommand="return;"/>
  68.   </commandset>
  69.  
  70.   <keyset>
  71.     <key id="key_transfer"      command="cmd_dummy"    keycode="VK_ENTER"/>
  72.     <key id="key_open"          command="cmd_dummy"    key="O" modifiers="accel"/>
  73.     <key id="key_url"           command="cmd_dummy"    key="U" modifiers="accel"/>
  74.     <key id="key_cut"           command="cmd_dummy"    key="X" modifiers="accel"/>
  75.     <key id="key_copy"          command="cmd_dummy"    key="C" modifiers="accel"/>
  76.     <key id="key_paste"         command="cmd_dummy"    key="V" modifiers="accel"/>
  77.     <key id="key_dir"           command="cmd_dummy"    key="D" modifiers="accel"/>
  78.     <key id="key_file"          command="cmd_dummy"    key="N" modifiers="accel"/>
  79.     <key id="key_remove"        command="cmd_dummy"    keycode="VK_DELETE"/>
  80.     <key id="key_rename"        command="cmd_dummy"    keycode="VK_F2"/>
  81.     <key id="key_properties"    command="cmd_dummy"    key="P" modifiers="accel"/>
  82.     <key id="key_search"        command="cmd_search"   key="F" modifiers="accel"/>
  83.   </keyset>
  84.  
  85.   <!-- :::::::::::::::::::::::::::::: context menus :::::::::::::::::::::::::::::: -->
  86.  
  87.   <popupset>
  88.     <popup id="localmenu" onpopupshowing="localTree.createContextMenu()">
  89.       <menuitem oncommand="localTree.openContainingFolder();"   label="&openContaining.label;"                                      id="localOpenCont"/>
  90.       <menuseparator                                                                                                                id="localOpenContSep"/>
  91.       <menuitem oncommand="new transfer().start(false);"        label="&upload.label;"              key="key_transfer"              id="localUpload"/>
  92.       <menuitem oncommand="localTree.launch()"                  label="&open.label;"                key="key_open"                  id="localOpen"/>
  93.       <menu label="&openwith.label;"                                                                                                id="localOpenWith">
  94.         <menupopup id="openWithMenu">
  95.         </menupopup>
  96.       </menu>
  97.       <menuitem oncommand="localTree.extract(false)"            label="&extractHere.label;"                                         id="extractHereContext"/>
  98.       <menuitem oncommand="localTree.extract(true)"             label="&extractTo.label;"                                           id="extractToContext"/>
  99.       <menuseparator/>
  100.       <menuitem oncommand="localTree.cut()"                     label="&cut.label;"                 key="key_cut"                   id="localCutContext"/>
  101.       <menuitem oncommand="localTree.copy()"                    label="©.label;"                key="key_copy"                  id="localCopyContext"/>
  102.       <menuitem oncommand="localTree.paste()"                   label="&paste.label;"               key="key_paste" disabled="true" id="localPasteContext"/>
  103.       <menuseparator/>
  104.       <menuitem oncommand="localTree.create(true)"              label="&makedir.label;"             key="key_dir"                   id="localCreateDir"/>
  105.       <menuitem oncommand="localTree.create(false)"             label="&makefile.label;"            key="key_file"                  id="localCreateFile"/>
  106.       <menuitem oncommand="localTree.remove()"                  label="&delete.label;"              key="key_remove"/>
  107.       <menuitem oncommand="localTree.rename()"                  label="&rename.label;"              key="key_rename"/>
  108.       <menuseparator/>
  109.       <menuitem oncommand="localTree.showProperties(false)"     label="&properties.label;"          key="key_properties"/>
  110.       <menuitem oncommand="localTree.showProperties(true)"      label="&rproperties.label;"                                         id="localRecursiveProperties"/>
  111.     </popup>
  112.     <popup id="remotemenu" onpopupshowing="remoteTree.createContextMenu()">
  113.       <menuitem oncommand="remoteTree.openContainingFolder();"  label="&openContaining.label;"                                      id="remoteOpenCont"/>
  114.       <menuseparator                                                                                                                id="remoteOpenContSep"/>
  115.       <menuitem oncommand="new transfer().start(true)"          label="&download.label;"            key="key_transfer"              id="remoteDownload"/>
  116.       <menuitem oncommand="remoteTree.launch()"                 label="&open.label;"                key="key_open"                  id="remoteOpen"/>
  117.       <menu label="&openwith.label;"                                                                                                id="remoteOpenWith">
  118.         <menupopup id="remoteOpenWithMenu">
  119.         </menupopup>
  120.       </menu>
  121.       <menuseparator/>
  122.       <menuitem oncommand="remoteTree.viewOnTheWeb()"           label="&viewweb.label;"                                             id="remoteWeb"/>
  123.       <menu label="©Url.label;"                                                                                                 id="remoteCopyUrl">
  124.         <menupopup>
  125.           <menuitem oncommand="remoteTree.copyUrl(true)"        label="HTTP"                        key="key_url"/>
  126.           <menuitem oncommand="remoteTree.copyUrl(false)"       label="FTP"/>
  127.           <menuitem oncommand="remoteTree.copyUrl(false, true)" label="©UrlLogin.label;"/>
  128.         </menupopup>
  129.       </menu>
  130.       <menu label="FXP"                                                                                                             id="remoteFXP">
  131.         <menupopup id="remoteFXPMenu">
  132.         </menupopup>
  133.       </menu>
  134.       <menuseparator/>
  135.       <menuitem oncommand="remoteTree.cut()"                    label="&cut.label;"                 key="key_cut"                   id="remoteCutContext"/>
  136.       <menuitem oncommand="remoteTree.paste()"                  label="&paste.label;"               key="key_paste" disabled="true" id="remotePasteContext"/>
  137.       <menuseparator/>
  138.       <menuitem oncommand="remoteTree.create(true)"             label="&makedir.label;"             key="key_dir"                   id="remoteCreateDir"/>
  139.       <menuitem oncommand="remoteTree.create(false)"            label="&makefile.label;"            key="key_file"                  id="remoteCreateFile"/>
  140.       <menuitem oncommand="remoteTree.remove()"                 label="&delete.label;"              key="key_remove"                id="remoteRemove"/>
  141.       <menuitem oncommand="remoteTree.rename()"                 label="&rename.label;"              key="key_rename"                id="remoteRename"/>
  142.       <menuseparator/>
  143.       <menuitem oncommand="remoteTree.showProperties(false)"    label="&properties.label;"          key="key_properties"            id="remoteProperties"/>
  144.       <menuitem oncommand="remoteTree.showProperties(true)"     label="&rproperties.label;"                                         id="remoteRecursiveProperties"/>
  145.     </popup>
  146.     <popup id="queuemenu" onpopupshowing="queueTree.createContextMenu()">
  147.       <menuitem oncommand="queueTree.retry();"                  label="&retry.label;"                                               id="queueRetry"/>
  148.       <menuitem oncommand="queueTree.cancel();"                 label="&cancel.label;"              key="key_remove"                id="queueCancel"/>
  149.       <menuseparator/>
  150.       <menuitem oncommand="doAbort()"                           label="&cancelAll.label;"                                           id="queueCancelAll"/>
  151.     </popup>
  152.     <popup id="advancedpopup"       position="after_start" onpopupshowing="toolsPopupMenu()">
  153.       <menuitem oncommand="showSearch(true)"                    label="&search.label;"              accesskey="&search.access;"     id="searchMenuItem" key="key_search"/>
  154.       <menuseparator/>
  155.       <menuitem oncommand="diff(false)"                         label="&diff.label;"                accesskey="&diff.access;"       id="diffMenuItem"/>
  156.       <menuitem oncommand="diff(true)"                          label="&recdiff.label;"             accesskey="&recdiff.access;"    id="recDiffMenuItem"/>
  157.       <menuseparator/>
  158.       <menuitem oncommand="custom()"                            label="&custom.label;"              accesskey="&custom.access;"     id="customMenuItem"/>
  159.       <menuseparator/>
  160.       <menuitem oncommand="importSites()"                       label="&import.label;"              accesskey="&import.access;"     id="importMenuItem"/>
  161.       <menuitem oncommand="exportSites()"                       label="&export.label;"              accesskey="&export.access;"     id="exportMenuItem"/>
  162.       <menuseparator/>
  163.       <menuitem oncommand="showPreferences()"                   label="&preferencestab.label;"      accesskey="&prefbutton.access;" id="prefbutton"/>
  164.     </popup>
  165.     <popup id="searchpopup"       position="before_start">
  166.       <menuitem oncommand="showSearchDates()" type="checkbox"   label="&searchDates.label;"         accesskey="&searchDates.access;"  id="searchDates"      persist="checked"/>
  167.       <menuitem type="checkbox"                                 label="&searchRegexp.label;"        accesskey="&searchRegexp.access;" id="searchRegExp"     persist="checked"/>
  168.       <menuitem type="checkbox"                                 label="&searchMatch.label;"         accesskey="&searchMatch.access;"  id="searchMatchCase"  persist="checked"/>
  169.       <menuitem type="checkbox"                                 label="&searchSubdir.label;"        accesskey="&searchSubdir.access;" id="searchSubdir"     persist="checked"/>
  170.     </popup>
  171.  
  172.     <panel id="identity-popup" position="after_start" noautofocus="true">
  173.       <hbox id="identity-popup-container" align="top">
  174.         <image id="identity-popup-icon"/>
  175.         <vbox id="identity-popup-content-box">
  176.           <description id="identity-popup-content-supplemental"/>
  177.           <description id="identity-popup-content"/>
  178.           <description id="identity-popup-content-verifier"/>
  179.           <hbox id="identity-popup-encryption" flex="1">
  180.             <vbox>
  181.               <image id="identity-popup-encryption-icon"/>
  182.               <spacer flex="1"/>
  183.             </vbox>
  184.             <description id="identity-popup-encryption-label" flex="1"/>
  185.           </hbox>
  186.         </vbox>
  187.       </hbox>
  188.     </panel>
  189.   </popupset>
  190.  
  191.   <vbox flex="1">
  192.  
  193.     <!-- :::::::::::::::::::::::::::::: main toolbar :::::::::::::::::::::::::::::: -->
  194.  
  195.     <toolbar         id="main-toolbar"  align="center">
  196.       <toolbaritem   collapsed="true" id="folderItem">
  197.         <menulist    id="folder"                                                                       oncommand="onFolderChange(false, true)" width="150"/>
  198.       </toolbaritem>
  199.       <toolbaritem>
  200.         <menulist    id="account"       label="&accountlist.label;"    onclick="createAccount()"       oncommand="onAccountChange()" width="150"/>
  201.       </toolbaritem>
  202.       <toolbarbutton id="connectbutton"/>
  203.       <toolbarbutton id="editMenuItem"  label="&edit.label;"           accesskey="&edit.access;"       oncommand="editSite()"/>
  204.       <toolbarbutton id="abortbutton"   label="&abort.label;"          accesskey="&abort.access;"      oncommand="doAbort()"/>
  205.       <toolbarspacer flex="1"/>
  206.       <toolbarbutton id="logbutton"     label="&logtab.label;"         accesskey="&logbutton.access;"  oncommand="showLog()" type="checkbox" persist="checked"  autoCheck="false" />
  207.       <toolbarbutton id="advmenu"       label="&advanced.label;"       accesskey="&advanced.access;"   popup="advancedpopup"/>
  208.       <toolbarbutton id="helpbutton"    label="&help.label;"           accesskey="&helpbutton.access;"
  209.                      oncommand="runInFirefox('&help.url;')"/>
  210.     </toolbar>
  211.  
  212.     <box flex="10">
  213.       <vbox id="localview" flex="1">
  214.  
  215.         <!-- :::::::::::::::::::::::::::::: local toolbar :::::::::::::::::::::::::::::: -->
  216.  
  217.         <toolbar id="localtoolbar">
  218.           <toolbarbutton class="upButton"      oncommand="localDirTree.cdup()"            tooltiptext="&parentdir.tip;"/>
  219.           <toolbarbutton class="refreshButton" oncommand="localTree.refresh(false, true)" tooltiptext="&refresh.tip;"/>
  220.           <textbox id                      = "localpath"
  221.                    flex                    = "1"
  222.                    tooltiptext             = "&localpath.tip;"
  223.                    onfocus                 = "onLocalPathFocus(event)"
  224.                    onblur                  = "onLocalPathBlur(event)"
  225.                    onkeypress              = "if (event.keyCode == 13) localDirTree.changeDir(this.value)"
  226.                    ontextentered           = "localDirTree.changeDir(this.value)"
  227.                    type                    = "autocomplete"
  228.                    tabscrolling            = "true"
  229.                    enablehistory           = "true"
  230.                    autocompletepopup       = "PopupAutoComplete"
  231.                    autocompletesearch      = "form-history"
  232.                    autocompletesearchparam = "localpath"/>
  233.           <toolbarbutton label="&browse.label;" oncommand="browseLocal()" accesskey="&browsebutton.access;"/>
  234.         </toolbar>
  235.  
  236.         <!-- :::::::::::::::::::::::::::::: local file view :::::::::::::::::::::::::::::: -->
  237.  
  238.         <hbox   width="1" flex="1" onmouseover="localTree.mouseOver(event)">
  239.           <tree id="localdirtree"  class="plain" flex="1" hidecolumnpicker="true" persist="collapsed"
  240.                 onkeypress="localDirTree.keyPress(event)"
  241.                 onselect  ="localDirTree.select(event)"
  242.                 onclick   ="localDirTree.click(event)">
  243.             <treecols>
  244.               <treecol    id="localdirname" flex="1" primary="true" persist="width ordinal hidden"/>
  245.             </treecols>
  246.             <treechildren id="localdirtreechildren" class="dirTree" context="localdirmenu"/>
  247.           </tree>
  248.           <splitter id="localsplitter" persist="state" collapse="before">
  249.             <grippy/>
  250.           </splitter>
  251.           <tree        id="localtree" class="plain" flex="2" enableColumnDrag="true" onkeypress="localTree.keyPress(event)">
  252.             <treecols>
  253.               <treecol id="localname" label="&name.label;" flex="2" persist="width ordinal hidden sortDirection" sortDirection="ascending"/>
  254.               <splitter                class="tree-splitter"/>
  255.               <treecol id="localsize" label="&size.label;" flex="1" persist="width ordinal hidden sortDirection"/>
  256.               <splitter                class="tree-splitter"/>
  257.               <treecol id="localtype" label="&type.label;" flex="1" persist="width ordinal hidden sortDirection"/>
  258.               <splitter                class="tree-splitter"/>
  259.               <treecol id="localdate" label="&date.label;" flex="1" persist="width ordinal hidden sortDirection"/>
  260.               <splitter                class="tree-splitter"/>
  261.               <treecol id="localattr" label="&attr.label;" flex="1" persist="width ordinal hidden sortDirection" hidden="true"/>
  262.             </treecols>
  263.             <treechildren id="localtreechildren" class="fileTree" context="localmenu"
  264.                           ondblclick="localTree.dblClick(event)"
  265.                           onclick   ="localTree.click(event)"/>
  266.           </tree>
  267.         </hbox>
  268.       </vbox>
  269.  
  270.       <splitter   id="leftsplitter"   collapse="before" resizebefore="closest" resizeafter="farthest" oncommand="setInterfaceMode()">
  271.         <grippy/>
  272.       </splitter>
  273.       <vbox       pack="center">
  274.         <box      id="retrbutton">
  275.           <button id="retrieveButton" oncommand="new transfer().start(true)"  tooltiptext="&download.label;"/>
  276.         </box>
  277.         <box      id="storbutton">
  278.           <button id="storeButton"    oncommand="new transfer().start(false)" tooltiptext="&upload.label;"/>
  279.         </box>
  280.       </vbox>
  281.       <splitter   id="rightsplitter"  collapse="after" resizebefore="farthest" resizeafter="closest" oncommand="setInterfaceMode()">
  282.         <grippy/>
  283.       </splitter>
  284.  
  285.       <vbox id="remoteview" flex="1">
  286.  
  287.         <!-- :::::::::::::::::::::::::::::: remote toolbar :::::::::::::::::::::::::::::: -->
  288.  
  289.         <toolbar>
  290.           <toolbarbutton id="remoteUpButton"      class="upButton"      oncommand="remoteDirTree.cdup()" tooltiptext="&parentdir.tip;"/>
  291.           <toolbarbutton id="remoteRefreshButton" class="refreshButton" oncommand="remoteTree.refresh()" tooltiptext="&refresh.tip;"/>
  292.           <textbox id                      = "remotepath"
  293.                    value                   = "/"
  294.                    flex                    = "1"
  295.                    tooltiptext             = "&remotepath.tip;"
  296.                    onfocus                 = "onRemotePathFocus(event)"
  297.                    onblur                  = "onRemotePathBlur(event)"
  298.                    onkeypress              = "if (event.keyCode == 13) remoteDirTree.changeDir(this.value)"
  299.                    ontextentered           = "remoteDirTree.changeDir(this.value)"
  300.                    type                    = "autocomplete"
  301.                    tabscrolling            = "true"
  302.                    enablehistory           = "true"
  303.                    autocompletepopup       = "PopupAutoComplete"
  304.                    autocompletesearch      = "form-history"
  305.                    autocompletesearchparam = "remotepath">
  306.             <box id="identity-box" align="center" popup="identity-popup">
  307.               <deck id="page-proxy-deck">
  308.                 <image id="page-proxy-button"/>
  309.                 <image id="page-proxy-favicon" validate="never"
  310.                        onload="this.parentNode.selectedIndex = 1; event.stopPropagation();"
  311.                        onerror="this.removeAttribute('src'); this.parentNode.selectedIndex = 0;"/>
  312.               </deck>
  313.             </box>
  314.           </textbox>
  315.           <toolbarbutton id="remoteChangeButton" label="&change.label;" oncommand="remoteDirTree.changeDir(gRemotePath.value)" accesskey="&changebutton.access;"/>
  316.         </toolbar>
  317.  
  318.         <!-- :::::::::::::::::::::::::::::: remote file view :::::::::::::::::::::::::::::: -->
  319.  
  320.         <hbox   width="1" flex="1" onmouseover="remoteTree.mouseOver(event)">
  321.           <tree id="remotedirtree" class="plain" flex="1" hidecolumnpicker="true" persist="collapsed"
  322.                 onkeypress="remoteDirTree.keyPress(event)"
  323.                 onselect  ="remoteDirTree.select(event)"
  324.                 onclick   ="remoteDirTree.click(event)">
  325.             <treecols>
  326.               <treecol    id="remotedirname" flex="1" primary="true" persist="width ordinal hidden"/>
  327.             </treecols>
  328.             <treechildren id="remotedirtreechildren" class="dirTree" context="remotedirmenu"/>
  329.           </tree>
  330.           <splitter id="remotesplitter" collapse="before" persist="state">
  331.             <grippy/>
  332.           </splitter>
  333.           <tree        id="remotetree" class="plain" flex="2" enableColumnDrag="true" onkeypress="remoteTree.keyPress(event)">
  334.             <treecols>
  335.               <treecol id="remotename" label="&name.label;" flex="2" persist="width ordinal hidden sortDirection" sortDirection="ascending"/>
  336.               <splitter                 class="tree-splitter"/>
  337.               <treecol id="remotesize" label="&size.label;" flex="1" persist="width ordinal hidden sortDirection"/>
  338.               <splitter                 class="tree-splitter"/>
  339.               <treecol id="remotetype" label="&type.label;" flex="1" persist="width ordinal hidden sortDirection"/>
  340.               <splitter                 class="tree-splitter"/>
  341.               <treecol id="remotedate" label="&date.label;" flex="1" persist="width ordinal hidden sortDirection"/>
  342.               <splitter                 class="tree-splitter"/>
  343.               <treecol id="remoteattr" label="&attr.label;" flex="1" persist="width ordinal hidden sortDirection" hidden="true"/>
  344.             </treecols>
  345.             <treechildren id="remotetreechildren" class="fileTree" context="remotemenu"
  346.                           ondblclick="remoteTree.dblClick(event)"
  347.                           onclick   ="remoteTree.click(event)"/>
  348.           </tree>
  349.         </hbox>
  350.       </vbox>
  351.     </box>
  352.  
  353.     <!-- :::::::::::::::::::::::::::::: log/queue :::::::::::::::::::::::::::::: -->
  354.  
  355.     <splitter id="logsplitter" collapse="after" resizebefore="closest" onmousedown="checkLogMouseDown()" onmouseup="checkLogCollapsed()">
  356.       <grippy onmouseup="setTimeout(checkLogCollapsed,0)"/>
  357.     </splitter>
  358.     <tabbox        id="logqueue" height="150" persist="height">
  359.       <tabpanels   id="lqtabs"   flex="1">
  360.         <tabpanel  flex="1">
  361.           <browser id="cmdlog" src="blank.html" flex="1" persist="height"/>
  362.         </tabpanel>
  363.         <tabpanel flex="1">
  364.           <tree        id="queuetree" class="plain" flex="1" enableColumnDrag="true" onkeypress="queueTree.keyPress(event)">
  365.             <treecols>
  366.               <treecol id="queuesource"  label="&source.label;" flex="10" persist="width ordinal hidden"/>
  367.               <splitter                   class="tree-splitter"/>
  368.               <treecol id="queuedest"    label="&dest.label;"   flex="10" persist="width ordinal hidden"/>
  369.               <splitter                   class="tree-splitter"/>
  370.               <treecol id="queuebytes"   label="&bytes.label;"  flex="10" persist="width ordinal hidden"/>
  371.               <splitter                   class="tree-splitter"/>
  372.               <treecol id="queuepercent" label="&percent.tip;"  flex="3" persist="width ordinal hidden" type="progressmeter"/>
  373.               <splitter                   class="tree-splitter"/>
  374.               <treecol id="queueela"     label="&timeela.tip;"  flex="1" persist="width ordinal hidden"/>
  375.               <splitter                   class="tree-splitter"/>
  376.               <treecol id="queuerem"     label="&timerem.tip;"  flex="1" persist="width ordinal hidden"/>
  377.               <splitter                   class="tree-splitter"/>
  378.               <treecol id="queuerate"    label="&download.tip;" flex="1" persist="width ordinal hidden"/>
  379.               <splitter                   class="tree-splitter"/>
  380.               <treecol id="queuetype"    label="&type.label;"   flex="1" persist="width ordinal hidden"/>
  381.               <splitter                   class="tree-splitter"/>
  382.               <treecol id="queuestatus"  label="&status.label;" flex="1" persist="width ordinal hidden"/>
  383.             </treecols>
  384.             <treechildren id="queuetreechildren" class="fileTree" context="queuemenu"/>
  385.           </tree>
  386.         </tabpanel>
  387.       </tabpanels>
  388.       <tabs  class="tabs-bottom" id="logQueueTabs" onclick="logQueueMode()" onkeypress="logQueueMode()">
  389.         <tab class="tab-bottom" label="<ab.label;"/>
  390.         <tab class="tab-bottom" label="&qtab.label;"/>
  391.       </tabs>
  392.     </tabbox>
  393.  
  394.   </vbox>
  395.  
  396.   <!-- :::::::::::::::::::::::::::::: search toolbar :::::::::::::::::::::::::::::: -->
  397.  
  398.   <toolbar      id="searchToolbar"  align="center" collapsed="true">
  399.     <toolbarbutton id="searchClosebutton" oncommand="showSearch(false);"/>
  400.     <hbox id="searchContainer">
  401.       <textbox  id="searchFile"        onkeypress="if (event.keyCode == 27) showSearch(false); else if (event.keyCode == 13) searchWrapper()"/>
  402.     </hbox>
  403.     <button     id="searchButton"      label="&searchButton.label;"  accesskey="&searchButton.access;"  oncommand="searchWrapper()" />
  404.     <radiogroup id="searchWhich" orient="horizontal" onselect="searchSelectType()">
  405.       <radio    id="searchLocal"       label="&searchLocal.label;"   accesskey="&searchLocal.access;"   persist="selected"/>
  406.       <radio    id="searchRemote"      label="&searchRemote.label;"  accesskey="&searchRemote.access;"  persist="selected"/>
  407.     </radiogroup>
  408.     <button     id="searchMenu"        label="&searchOptions.label;" accesskey="&searchOptions.access;" popup="searchpopup"/>
  409.     <hbox       id="searchDateBox" align="center">
  410.       <label      value="&searchFrom.label;" control="searchDateFrom"/>
  411.       <datepicker id="searchDateFrom"    type="popup"/>
  412.       <label      value="&searchTo.label;"   control="searchDateTo"/>
  413.       <datepicker id="searchDateTo"      type="popup"/>
  414.     </hbox>
  415.     <image      id="searchStatusIcon"/>
  416.     <label      id="searchStatus"/>
  417.   </toolbar>
  418.  
  419.   <!-- :::::::::::::::::::::::::::::: status bar :::::::::::::::::::::::::::::: -->
  420.  
  421.   <statusbar>
  422.     <statusbarpanel  id="statustxt"       label="FireFTP"             flex="1"/>
  423.     <statusbarpanel  id="statusbytes"/>
  424.     <statusbarpanel  id="statustype"      tooltiptext="&type.tip;"    onclick="onChangeType()"/>
  425.     <statusbarpanel  id="statuselapsed"   tooltiptext="&timeela.tip;"/>
  426.     <statusbarpanel  id="statusremaining" tooltiptext="&timerem.tip;"/>
  427.     <statusbarpanel  id="statusrate"      tooltiptext="&download.tip;"/>
  428.     <statusbarpanel  id="statusmeterpanel">
  429.       <progressmeter id="statusmeter"     tooltiptext="&percent.tip;" mode="normal" />
  430.     </statusbarpanel>
  431.   </statusbar>
  432.  
  433. </window>
  434.